package com.powernode.lambda.stream;

import java.util.stream.Stream;

/**
 * 测试stream相关Api filter结合findFirst、ifPresent
 */
public class Stream05 {
    public static void main(String[] args) {
        Stream<Integer> stream = Stream.of(1, 2, 3, 4, 5, 6);

        //找第一个偶数，没有就返回-1
        //System.out.println(stream.filter(x -> (x & 1) == 0).findFirst().orElse(-1));
        //找第一个奇数，有就打印，没有就不执行任何操作
        //stream.filter(x -> (x & 1) != 0).findFirst().ifPresent(x->System.out.println(x));
        //找任意一个奇数，有就打印，没有就不执行任何操作
        // （注意在串型流情况下，findAny等同于findFirst，只有在并行流中，结果才会不同）
        stream.filter(x -> (x & 1) != 0).findAny().ifPresent(x->System.out.println(x));
    }

}
